//////////////////////////////////////////////////////////////
//UnPackMe_Hide & Protect 1.016
//IAT Repair you need to enter info
//By What
//UnPackMe_Hide & Protect 1.016 (probably the best protector you never heard of)
//Tested on Windows XP SP2, Odbgscript 1.64
//Noted for info
//////////////////////////////////////////////////////////////






var oep					//Declares Variable
var good
var iatstart
var address

msg "Please edit this script first to the start of your api -4" // Simple messagebox telling you to edit this script
mov oep, eip                             //Remembers the orginal entry point
mov iatstart, 00460818                   //May needs to be changed to point to your iat start
loop:					 //Start of main loop
cmp eip, 00460f24			 //May need to be changed,Compares eip to the end of iat
ja done					 //Jumps to end if Iat is at end
add iatstart, 4				 //add 4 to eip to get to next find
mov eip, iatstart			 //Mov eip to next address
mov good, [eip]				 //Gets info from the eip address
cmp good, 10000000       		 //Does it hold a valid api already?
ja loop					 //Jmp if it does
cmp good, 0				 //Is it equal to zero
je loop					 //Jump if it is
mov eip, good				 //Now go to the area to get good api
loop2:					 //Start of loop 2
sti					 //Step Into
cmp eip, 10000000			 //Does step lead to good api
jb loop2				 //Jump if it is not at beginning of api yet
mov address, eip			 //Get good info
mov eip, iatstart			 //Go back to address to fix iat
mov [eip], address			 //Fix bad address with address of api
jmp loop 				 //Keep jumping back tell we are finished

done:					 //Done address
mov eip, oep				 //Mov eip back to first position
ret					 //End Script